package com.sky.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sky.dto.CreateOrderDTO;
import com.sky.dto.OrderPageQueryDTO;
import com.sky.dto.OrderStatusDTO;
import com.sky.entity.Order;
import com.sky.result.PageResult;
import com.sky.vo.OrderVO;

import java.util.Map;

public interface OrderService {
    // 获取学生订单列表
    IPage<OrderVO> getOrderList(IPage<Order> page, Long studentId, String status);
    // 获取订单详情
    OrderVO getOrderDetail(String orderNo);
    // 创建订单
    String createOrder(CreateOrderDTO createOrderDTO);
    // 取消订单
    void cancelOrder(String orderNo);
    // 根据订单ID查询订单
    OrderVO getOrderById(Long id);
    
    // 管理员端订单分页查询
    PageResult adminPageQuery(OrderPageQueryDTO queryDTO);
    
    // 更新订单状态
    void updateOrderStatus(OrderStatusDTO orderStatusDTO);
    
    // 获取订单统计数据
    Map<String, Object> getOrderStats();
    
    // 根据商家ID获取订单列表
    IPage<OrderVO> getOrdersByMerchantId(Long merchantId, int page, int size);
}